1. Field of the Invention
The present invention relates to a high-efficient coding and decoding technique which is arranged to high-efficiently code input data, transmit, record, reproduce and decode the digital data for producing a regenerative signal.
2. Description of the Related Art
There have been various kinds of techniques for high-efficiently coding an audio or voice signal. For example, a subband coding (SBC) employing a nonblocking frequency band dividing system or a blocking frequency band dividing system, that is, the so-called coding transform may be referred. The former technique is arranged to divide a time-base signal such as an audio signal into plural frequency subbands without blocking the signal and to code it. The latter technique is arranged to transform (spectrum-transform) a time-base signal into a frequency-base signal, divide the transformed signal into plural frequency subbands, and code each frequency subband.
Further, another high-efficient coding technique may be considered by combining the foregoing band divisional coding with the coding transform. This technique is arranged to divide the signal into frequency subbands, spectrum-transform the signal of each subband frequency into the frequency-base signal, and code the spectrum-transformed band signal. The foregoing process for dividing the signal into frequency subbands is executed by a filter such as a QFM filter. This QFM filter is discussed in 1976 R. E. Crochiere Digital coding of speech in subbands, Bell Syst. Tech, J. Vol. 55, No. 8, 1976.
Moreover, a technique of dividing a signal into equal subband widths through a filter is discussed in ICASSP 83, BOSTON Polyphase Quadrature filters-A new subband coding technique, Joseph H. Rothweiler. The foregoing spectrum transform from the time base to the frequency base may be executed by blocking an input signal such as an audio signal at a given unit time (frame) and performing Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT) or modified DCT transform (MDCT) or the like.
The modified DCT transform is discussed in ICASSP 1987 Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation, J. P. Princen A. B. Bradley, Univ. of Surrey, Royal Melbourne Inst. of Tech.
As mentioned above, the audio or voice signal is divided into subbands through the effect of the filter or spectrum transform before quantization. This makes it possible to suppress the subband where quantizing noises take place and to more high-efficiently code the signal from an acoustic point of view by using a property such as a masking effect.
Before the quantization, each subband may be normalized with a maximum of an absolute value of signal components of the band, for making the coding more high-efficient.
When quantizing the frequency component of each band, the human acoustic characteristic, for example, is considered for the band division. That is, in general, the audio signal may be divided into subbands (for example, 25 subbands) each of which has a wider highband width and is called a critical band. When coding the data of each band, the coding is based on a given bit allocation or an adaptive bit allocation for each band.
For example, when coding the coefficient data derived by the MDCT process through the bit allocation, the MDCT coefficient data, which is derived by the MDCT process of each block, is coded at an adaptive allocated bit number. There have been known the following two techniques as the bit allocation.
At first, the bit allocation is based on a magnitude of a signal of each band. This technique is discussed in: Adaptive Transform Coding of Speech Signals, R. Zelinski and P. No11, IEEE Transactions of Acoustics, Speech, and Signal Processing. This technique is executed so that the quantizing noise spectrum is made flat and thus the noise energy is made minimum. However, no use of the masking effect lowers the actual acoustic sense.
Second, the fixed bit allocation may be referenced. This bit allocation utilizes the acoustic-sense masking for deriving an S/N ratio for each band. This technique is discussed in: ICASSP 1980, The critical band coder--digital encoding of the perceptual requirements of the auditory system, M. A. Kransner MIT. However, this technique does not offer so excellent a characteristic value when measuring the characteristic with the sinusoidal waveform input, because the bit allocation is fixed at each band.
To overcome these shortcomings, there has been proposed a high-efficient coding apparatus which is arranged to divide all the bits to be used for the bit allocation into the bits for a given fixed bit allocation pattern for each subblock and the bits for the bit allocation depending on the magnitude of the signal of each block and to make a divisional ratio to the fixed bit allocation pattern as the spectrum of the signal is made smooth.
With this method, if energy is concentrated on a specific spectrum, such as a sinusoidal waveform input, more bits are allocated to a block containing the specific spectrum, for remarkably improving an overall signal-to-noise characteristic. In general, the human acoustic sense is quite sensitive to the signal having acute spectrum components. Hence, the improvement of the signal-to-noise characteristic through this method is effective in improving the measuring numeric values as well as the sound quality from a view of an acoustic sense.
As a bit allocation method, many other methods have been proposed. If those methods may make a model about an acoustic sense more sophisticated and enhance the performance of the coding device, the coding is more high-efficient from a view of an acoustic sense.
The inventors et.al. of the present application have proposed in the U.S. patent application Ser. No. 08/374,518 (filed in May 31, 1994) a method of separating a tone component that is quite important from a view of an acoustic sense from the spectrum signal and coding the separated component in another manner rather than the remaining spectrum component. This method makes it possible to efficiently code the signal such as an audio signal at a high compression rate without having to substantially degrade the acoustic sense.
By lengthening the time block used for the transform, in general, the spectrum frequency resolution is made higher and the energy is concentrated on the specific spectrum component. Hence, by overlapping a half of one block with a half of the adjacent block for making the block length for the transform longer and using the modified DCT transform that inhibits to increase the number of the spectrum signals as compared with the number of the original time samples, it is possible to perform more high-efficient coding than the use of the Discrete Fourier Transform (DFT) or the Discrete Cosine Transform (DCT). Further, by making the overlapped portion between the adjacent blocks far longer, it is possible to reduce the inter-block distortion of the waveform signal.
As mentioned above, by dividing the acoustic signal into frequency components before coding, it is possible to effectively use the property of the acoustic sense, which realizes the efficient coding. However, if the acoustic signal is decomposed into the frequency components through the filter, the necessary computation is too massive. To overcome this shortcoming, the band-divisional filter may be a polyphase quadrature filter (called PQF) that enables to efficiently lower the amount of computation.
Further, one bottleneck appearing in the case of using the spectrum transform is a large buffer area for the computation. To overcome this bottleneck, the signal is pre-divided into subbands through the filter and then the spectrum transform is subject to the signal thinned out according to the band width. The effective band dividing filter used for this method may be the PQF that enables to efficiently lower the amount of computation.
In order to lower the amount of computation of the PQF, in general, it is possible to employ the method of separating the sum of products into two stages, temporarily save the computed result at the first stage in a buffer memory, and compute the result at the second stage of summing products.
However, as the data accuracy, the internal register has a length of 32 bits secured therein if the accuracy of the operating unit for doing the sum of products is 16 bits, for example. It means that the buffer memory for saving the operated result has to secure a bit length of 32 bits. This disadvantageously increases the hardware in scale.